//使用vite.meta.glob自动注册组件
import { defineAsyncComponent } from 'vue'
export default {
  install(app) {
    //手写自动化组件注册函数
    //生成组件kv对的对象 使用对象扁平拆解出每一项的key value
    //手动截取path的文件名实现自定义组件名
    const ComponentsList = import.meta.glob('./**/index.vue')
    Object.entries(ComponentsList).forEach(([key, value]) => {
      const MyComponent = defineAsyncComponent(value)
      const componentName = key.replace('./', '').split('/')[0]
      app.component(`My-${componentName}`, MyComponent)
    })
  }
}
